Fix flicker in SSR when using dark mode #36
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since the previous mechanism for theming the application depended on client-side logic, it was not rendering correctly in a SSR environment (there was a quick flicker of light mode, then the application settled into dark mode).
This fixes this issue by utilising CSS variables, and MUI's own best practices for dark/light mode theming in SSR/SPA contexts.
The navbar logo has also had its logic modified, so it is independent of Javascript, and instead, magically renders the correct one based on user preferences for dark/light mode (even if the page is rendered server side).